package reference;


import reflection.Person;

import java.util.Comparator;
import java.util.function.BiPredicate;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
 * @author LiuYan
 * @date 2021/11/18 8:56
 * <p>
 * 方法引用：三种语法格式 (方法引用是lambda表达式的再次提升)
 * <p>
 * 对象::实例方法名
 * 类::静态方法名
 * 类::实例方法名(参数列表中的第一参数是实例方法的调用者，而第二个参数是实例方法的参数时，可以使用类型::方法名)
 */
public class Part03 {

    public static void main(String[] args) {
        // 对象::实例方法
        Consumer<String> consumer = System.out::println;
        consumer.accept("Java");

        Person person = new Person();
        Supplier<String> supplier = person::getName;
        supplier.get();


        // 类::静态方法
        Comparator<Integer> comparator = Integer::compare;
        comparator.compare(100, 10);


        // 类::实例方法
        BiPredicate<String, String> biPredicate =String::equals;
        biPredicate.test("1","1");






    }

}
